CVE-2026-23075
can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak
Description
In the Linux kernel, the following vulnerability has been resolved: can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak Fix similar memory leak as in commit 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak"). In esd_usb_open(), the URBs for USB-in transfers are allocated, added to the dev->rx_submitted anchor and submitted. In the complete callback esd_usb_read_bulk_callback(), the URBs are processed and resubmitted. In esd_usb_close() the URBs are freed by calling usb_kill_anchored_urbs(&dev->rx_submitted). However, this does not take into account that the USB framework unanchors the URB before the complete function is called. This means that once an in-URB has been completed, it is no longer anchored and is ultimately not released in esd_usb_close(). Fix the memory leak by anchoring the URB in the esd_usb_read_bulk_callback() to the dev->rx_submitted anchor.
INFO
Published Date :
Feb. 4, 2026, 5:16 p.m.
Last Modified :
March 18, 2026, 5:16 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | MEDIUM | [email protected] |
Solution
- Anchor URB in esd_usb_read_bulk_callback.
- Resubmit URBs after processing in callback.
- Ensure URBs are freed in esd_usb_close.
- Update the Linux kernel to the latest version.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-23075.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-23075 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-23075
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-23075 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-23075 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Mar. 18, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Added CWE CWE-401 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.199 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.162 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.122 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.68 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.8 *cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 2.6.36 up to (excluding) 5.10.249 Added Reference Type kernel.org: https://git.kernel.org/stable/c/5a4391bdc6c8357242f62f22069c865b792406b3 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/92d26ce07ac3b7a850dc68c8d73d487b39c39b33 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/93b34d4ba7266030801a509c088ac77c0d7a12e9 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/9d1807b442fc3286b204f8e59981b10e743533ce Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/a9503ae43256e80db5cba9d449b238607164c51d Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/adec5e1f9c99fe079ec4c92cca3f1109a3e257c3 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/dc934d96673992af8568664c1b58e13eb164010d Types: Patch -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Feb. 06, 2026
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/92d26ce07ac3b7a850dc68c8d73d487b39c39b33 Added Reference https://git.kernel.org/stable/c/93b34d4ba7266030801a509c088ac77c0d7a12e9 Added Reference https://git.kernel.org/stable/c/dc934d96673992af8568664c1b58e13eb164010d -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Feb. 04, 2026
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak Fix similar memory leak as in commit 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak"). In esd_usb_open(), the URBs for USB-in transfers are allocated, added to the dev->rx_submitted anchor and submitted. In the complete callback esd_usb_read_bulk_callback(), the URBs are processed and resubmitted. In esd_usb_close() the URBs are freed by calling usb_kill_anchored_urbs(&dev->rx_submitted). However, this does not take into account that the USB framework unanchors the URB before the complete function is called. This means that once an in-URB has been completed, it is no longer anchored and is ultimately not released in esd_usb_close(). Fix the memory leak by anchoring the URB in the esd_usb_read_bulk_callback() to the dev->rx_submitted anchor. Added Reference https://git.kernel.org/stable/c/5a4391bdc6c8357242f62f22069c865b792406b3 Added Reference https://git.kernel.org/stable/c/9d1807b442fc3286b204f8e59981b10e743533ce Added Reference https://git.kernel.org/stable/c/a9503ae43256e80db5cba9d449b238607164c51d Added Reference https://git.kernel.org/stable/c/adec5e1f9c99fe079ec4c92cca3f1109a3e257c3